GetShippingCostsQueryHandler.execute   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 16
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 16
c 0
b 0
f 0
rs 9.75
cc 2
1
import { QueryHandler } from '@nestjs/cqrs';
2
import { Inject } from '@nestjs/common';
3
import { GetShippingCostsQuery } from './GetShippingCostsQuery';
4
import { IShippingCostRepository } from 'src/Domain/Order/Repository/IShippingCostRepository';
5
import { ShippingCostView } from '../../View/ShippingCostView';
6
7
@QueryHandler(GetShippingCostsQuery)
8
export class GetShippingCostsQueryHandler {
9
  constructor(
10
    @Inject('IShippingCostRepository')
11
    private readonly shippingcostRepository: IShippingCostRepository
12
  ) { }
13
14
  public async execute(query: GetShippingCostsQuery): Promise<ShippingCostView[]> {
15
    const shippingcostViews: ShippingCostView[] = [];
16
    const shippingCosts = await this.shippingcostRepository.findShippingCosts();
17
18
    for (const shippingCost of shippingCosts) {
19
      shippingcostViews.push(
20
        new ShippingCostView(
21
          shippingCost.getId(),
22
          shippingCost.getWeight(),
23
          shippingCost.getPriceFromCents(),
24
        )
25
      );
26
    }
27
28
    return shippingcostViews;
29
  }
30
}
31